package com.zy.pay.api.request;

import com.alibaba.fastjson.annotation.JSONField;
import com.zy.pay.api.enums.ZyPayApiEnum;
import com.zy.pay.api.response.ZyPayOrderRefundResponse;

/**
 * 退款请求参数 <br>
 *
 * @author panweiqiang <br>
 * @date 2020/7/7 9:27 <br>
 */
public class ZyPayOrderRefundRequest extends ZyPayRequest<ZyPayOrderRefundResponse> {

    @Override
    public Class<ZyPayOrderRefundResponse> getResponseClass() {
        return ZyPayOrderRefundResponse.class;
    }

    @Override
    public ZyPayApiEnum getApiEnum() {
        return ZyPayApiEnum.ORDER_REFUND;
    }

    /**
     * 商户订单号
     */
    @JSONField(name = "cp_tran_no")
    private String cpTranNo;

    /**
     * 商户退款订单号
     */
    @JSONField(name = "cp_refund_tran_no")
    private String cpRefundTranNo;

    /**
     * 退款金额，单位分
     */
    @JSONField(name = "refund_money")
    private Long   refundMoney;

    /**
     * 退款原因
     */
    @JSONField(name = "refund_reason")
    private String refundReason;

    /**
     * 后台回调地址
     */
    @JSONField(name = "notify_url")
    private String notifyUrl;

    /**
     * 商户订单提交时间,精确到秒，格式：yyyyMMddHHmmss
     */
    @JSONField(name = "time")
    private String time;

    public String getCpTranNo() {
        return cpTranNo;
    }

    public void setCpTranNo(String cpTranNo) {
        this.cpTranNo = cpTranNo;
    }

    public String getCpRefundTranNo() {
        return cpRefundTranNo;
    }

    public void setCpRefundTranNo(String cpRefundTranNo) {
        this.cpRefundTranNo = cpRefundTranNo;
    }

    public Long getRefundMoney() {
        return refundMoney;
    }

    public void setRefundMoney(Long refundMoney) {
        this.refundMoney = refundMoney;
    }

    public String getRefundReason() {
        return refundReason;
    }

    public void setRefundReason(String refundReason) {
        this.refundReason = refundReason;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }
}
